body{
    display: flex;
    margin: 0;
    padding: 0;
    min-height: 100vh; 
    flex-wrap: wrap;
}
header{
    display: flex;
    margin: 0 auto;
    flex-direction: column;
    margin-top: 20px;
    margin-bottom: 10px;
    
}
header a{
    margin: 0 auto;
    margin-bottom: 10px;
}
header h1{
    font-size: 20px;
    text-align: center;
}
.navbar{
    background-color: white;
    margin-bottom: 20px;
    padding: 0.5rem;
    border-bottom: 2px solid lightgray;
    border-top: 2px solid lightgray;
    width: 100%;
    height: fit-content;
    min-height: 80px;
}


.nav-item {
    margin: 0 10px;
    color: #333;
    text-decoration: none;
    position: relative;
}

.nav-item::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    background-color: #333;
    left: 0;
    bottom: -5px;
    transition: width 0.3s;
}

.nav-item:hover::after {
    width: 100%;
}
h2{
    font-size: 30px;
    text-align: left;
}


.grid-layout {
    width: 80%;
    margin: 0 auto;
    padding: 1rem;
    display: flow-root;
    border: 1px solid lightgray;
    border-radius: 25px;
    margin-bottom: 16px;
    box-shadow: -13px 8px 5px 2px rgba(0,0,0,0.1);

}

.imagen {
    max-width: 500px;
    width: 100%;
    max-height: 300px; /* Altura fija para el contenedor de la imagen */
    overflow: hidden; /* Oculta lo que sobre de la imagen */
    border-radius: 30px;
    float: left;
    margin: 0 10px;
    display: flex; /* Añadido para centrar la imagen */
    justify-content: center; /* Centra horizontalmente */
    align-items: center; /* Centra verticalmente */
    border: 1px solid lightgrey;

}

.imagen img {
    width: 500px;
    max-width: 100%;
    object-fit: cover;
    
}

.texto {
    width: 100%;
    flex: 1;
    text-align: justify;  /*Textos justificados y ordenados */
}
.custom-link {
    color: black; /* Color inicial */
    text-decoration: none; /* Elimina el subrayado */
}

.custom-link:hover {
    color: #18c7b0; /* Color de la paleta al pasar el ratón por encima */
}

.pagi{
    margin: 0 auto;
    height: fit-content;
}
.footer {
    background: #b6dbdd;
    padding: 10px 0;
    position: relative;
    align-self: flex-end;
    width: 100%;
}
.footer a {
    color: #178c75;
    font-size: 20px;
    padding: 10px;
    border-right: 1px solid #178c75;
    transition: all .5s ease;
}
.footer a:first-child {
    border-left: 1px solid #178c75;
}
.footer a:hover {
    color: white;
}

#scrollTopBtn {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: #02084f;
    color: #fff;
    border: none;
    border-radius: 5px;
    padding: 10px;
    cursor: pointer;
}

/* Estilo para la flecha hacia arriba en el botón */
#scrollTopBtn::before {
    content: '\2191'; /* Código Unicode para la flecha hacia arriba */
    font-size: 20px;
    vertical-align: middle;
    margin-right: 5px;
}
.footlogo{
    width: 60px; /*10vw se ve bien tambien*/
    display: flex;
    position: absolute;
    margin-left: 15px;
    float: left;
    top: 50%;
    transform: translateY(-50%);
}
.footerBottom{
    margin-top: 10px;

}
.meta{
    max-width: 100%;
    justify-content: baseline;

}
.meta span:not(:first-child){
    margin-left: 30px;

}
.meta span{

    font-size: 12px;
    color: black; /* Color inicial */
    text-decoration: none; /* Elimina el subrayado */
}

.meta span:hover {
    color: #18c7b0; /* Color de la paleta al pasar el ratón por encima */
}



@media (max-width: 950px) {
    .grid-layout {
        width: 90%;
        display: grid;
        grid-template-columns: auto;
        grid-template-rows: auto auto 20px;
        border: 1px solid lightgrey;
        border-radius: 25px;
        margin-bottom: 16px;
        box-shadow: -13px 8px 5px 2px rgba(0,0,0,0.1);
    }

    .imagen {
        width: 72.22vw; /* 650px / 900px */
        height: 43.33vw; /* 390px / 900px */
        margin: 0 auto;
        float: none;
        margin-bottom: 10px;
    }

    .texto {
        width: 100%;
        margin: 0 auto;
    }
    .footerBottom{
        margin-top: 15px;
    
    }
    .footlogo{
        width: 0px; /*10vw se ve bien tambien*/
    }

}
@media (max-width: 320px) {
    
    .footlogo{
        width: 0px; /*10vw se ve bien tambien*/
    }
    .grid-layout {
        width: 95%;
        display: grid;
        grid-template-columns: auto;
        grid-template-rows: auto auto 20px;
    }

}

    pre {
      background-color: black;
      color: white;
      padding: 10px;
      font-family: 'Courier New', Courier, monospace;
      font-size: 16px;
    }
  
    .error {
      color: red;
    }
  
    .warning {
      color: yellow;
    }
  
    .success {
      color: green;
    }



